using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes.DomainAttributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Enums;
using System.Collections.Generic;
using System.ComponentModel;

namespace Baci.ArcGIS._CartographyTools._Annotation
{
    /// <summary>
    /// <para>Tiled Labels To Annotation</para>
    /// <para>Converts labels to annotation for layers in a map based on a polygon index layer.</para>
    /// <para>将标注转换为基于面索引图层的地图中图层的注记。</para>
    /// </summary>    
    [DisplayName("Tiled Labels To Annotation")]
    public class TiledLabelsToAnnotation : AbstractGPProcess
    {
        /// <summary>
        /// 无参构造
        /// </summary>
        public TiledLabelsToAnnotation()
        {

        }

        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="_input_map">
        /// <para>Input Map</para>
        /// <para>The map that contains the labels to convert to annotation.</para>
        /// <para>包含要转换为注记的标注的地图。</para>
        /// </param>
        /// <param name="_polygon_index_layer">
        /// <para>Polygon Index Layer</para>
        /// <para>The polygon layer that contains tile features.</para>
        /// <para>包含切片要素的面图层。</para>
        /// </param>
        /// <param name="_out_geodatabase">
        /// <para>Output Geodatabase</para>
        /// <para>The workspace where the output feature classes will be saved. The workspace can be an existing geodatabase or an existing feature dataset.</para>
        /// <para>将保存输出要素类的工作空间。工作空间可以是现有地理数据库或现有要素数据集。</para>
        /// </param>
        /// <param name="_out_layer">
        /// <para>Output Layer</para>
        /// <para>The group layer that will contain the generated annotation. You can use the Save To Layer File tool to write the output group layer to a layer file.</para>
        /// <para>将包含生成的注记的图层组。您可以使用保存至图层文件工具将输出图层组写入图层文件。</para>
        /// </param>
        /// <param name="_anno_suffix">
        /// <para>Annotation Suffix</para>
        /// <para>The suffix that will be added to each new annotation feature class. This suffix will be appended to the name of the source feature class for each new annotation feature class. The reference scale for the annotation will follow this suffix.</para>
        /// <para>将添加到每个新注记要素类的后缀。此后缀将追加到每个新注记要素类的源要素类的名称中。注释的参考比例将遵循此后缀。</para>
        /// </param>
        public TiledLabelsToAnnotation(object _input_map, object _polygon_index_layer, object _out_geodatabase, object _out_layer, object _anno_suffix)
        {
            this._input_map = _input_map;
            this._polygon_index_layer = _polygon_index_layer;
            this._out_geodatabase = _out_geodatabase;
            this._out_layer = _out_layer;
            this._anno_suffix = _anno_suffix;
        }
        public override string ToolboxName => "Cartography Tools";

        public override string ToolName => "Tiled Labels To Annotation";

        public override string CallName => "cartography.TiledLabelsToAnnotation";

        public override List<string> AcceptEnvironments => ["annotationTextStringFieldLength", "referenceScale"];

        public override object[] ParameterInfo => [_input_map, _polygon_index_layer, _out_geodatabase, _out_layer, _anno_suffix, _reference_scale_value, _reference_scale_field, _tile_id_field, _coordinate_sys_field, _map_rotation_field, _feature_linked.GetGPValue(), _generate_unplaced_annotation.GetGPValue(), _out_workspace, _which_layers.GetGPValue(), _single_layer, _require_symbol_id.GetGPValue(), _auto_create.GetGPValue(), _update_on_shape_change.GetGPValue(), _multiple_feature_classes.GetGPValue(), _merge_label_classes.GetGPValue()];

        /// <summary>
        /// <para>Input Map</para>
        /// <para>The map that contains the labels to convert to annotation.</para>
        /// <para>包含要转换为注记的标注的地图。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Map")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _input_map { get; set; }


        /// <summary>
        /// <para>Polygon Index Layer</para>
        /// <para>The polygon layer that contains tile features.</para>
        /// <para>包含切片要素的面图层。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Polygon Index Layer")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _polygon_index_layer { get; set; }


        /// <summary>
        /// <para>Output Geodatabase</para>
        /// <para>The workspace where the output feature classes will be saved. The workspace can be an existing geodatabase or an existing feature dataset.</para>
        /// <para>将保存输出要素类的工作空间。工作空间可以是现有地理数据库或现有要素数据集。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Geodatabase")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _out_geodatabase { get; set; }


        /// <summary>
        /// <para>Output Layer</para>
        /// <para>The group layer that will contain the generated annotation. You can use the Save To Layer File tool to write the output group layer to a layer file.</para>
        /// <para>将包含生成的注记的图层组。您可以使用保存至图层文件工具将输出图层组写入图层文件。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Layer")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _out_layer { get; set; }


        /// <summary>
        /// <para>Annotation Suffix</para>
        /// <para>The suffix that will be added to each new annotation feature class. This suffix will be appended to the name of the source feature class for each new annotation feature class. The reference scale for the annotation will follow this suffix.</para>
        /// <para>将添加到每个新注记要素类的后缀。此后缀将追加到每个新注记要素类的源要素类的名称中。注释的参考比例将遵循此后缀。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Annotation Suffix")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _anno_suffix { get; set; }


        /// <summary>
        /// <para>Reference Scale Value</para>
        /// <para>The scale value that will be used as a reference for the annotation. This is the scale on which all symbol and text sizes in the annotation will be based.</para>
        /// <para>将用作批注参考的比例值。这是注释中所有符号和文本大小所基于的比例。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Reference Scale Value")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double? _reference_scale_value { get; set; } = null;


        /// <summary>
        /// <para>Reference Scale Field</para>
        /// <para>The field in the polygon index layer that will determine the reference scale of the annotation. This is the scale on which all symbol and text sizes in the annotation will be based.</para>
        /// <para>面索引图层中用于确定注记参考比例的字段。这是注释中所有符号和文本大小所基于的比例。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Reference Scale Field")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _reference_scale_field { get; set; } = null;


        /// <summary>
        /// <para>Tile ID Field</para>
        /// <para>A field in the polygon index layer that uniquely identifies the tiled area. These values will populate the TileID field in the annotation feature class attribute table.</para>
        /// <para>面索引图层中唯一标识切片区域的字段。这些值将填充注记要素类属性表中的 TileID 字段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Tile ID Field")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _tile_id_field { get; set; } = null;


        /// <summary>
        /// <para>Coordinate System Field</para>
        /// <para>A field in the polygon index layer that contains the coordinate system information for each tile. Due to the length required for a field to store coordinate system information, a polygon index layer that contains a coordinate system field must be a geodatabase feature class.</para>
        /// <para>面索引图层中包含每个切片的坐标系信息的字段。由于字段存储坐标系信息所需的长度，因此包含坐标系字段的面索引图层必须是地理数据库要素类。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Coordinate System Field")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _coordinate_sys_field { get; set; } = null;


        /// <summary>
        /// <para>Map Rotation Field</para>
        /// <para>A field in the polygon index layer that contains the angle by which the map will be rotated.</para>
        /// <para>面索引图层中的字段，其中包含地图旋转角度。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Map Rotation Field")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _map_rotation_field { get; set; } = null;


        /// <summary>
        /// <para>Create feature-linked annotation</para>
        /// <para><xdoc>
        ///   <para>This parameter is only available with ArcGIS Desktop Standard and ArcGIS Desktop Advanced licenses.</para>
        ///   <para>Specifies whether the output annotation feature class will be linked to the features in another feature class.
        ///   <bulletList>
        ///     <bullet_item>Unchecked—The output annotation feature class will not be linked to the features in another feature class. This is the default.  </bullet_item><para/>
        ///     <bullet_item>Checked—The output annotation feature class will be linked to the features in another feature class.  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>此参数仅适用于 ArcGIS Desktop Standard 和 ArcGIS Desktop Advanced 许可。</para>
        /// <para>指定输出注记要素类是否将链接到其他要素类中的要素。
        ///   <bulletList>
        ///     <bullet_item>未选中 - 输出注记要素类将不会链接到其他要素类中的要素。这是默认设置。 </bullet_item><para/>
        ///     <bullet_item>选中—输出注记要素类将链接到另一个要素类中的要素。</bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Create feature-linked annotation")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _feature_linked_value _feature_linked { get; set; } = _feature_linked_value._false;

        public enum _feature_linked_value
        {
            /// <summary>
            /// <para>FEATURE_LINKED</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("FEATURE_LINKED")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>STANDARD</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("STANDARD")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Convert unplaced labels to unplaced annotation</para>
        /// <para><xdoc>
        ///   <para>Specifies whether unplaced annotation will be created from unplaced labels.</para>
        ///   <bulletList>
        ///     <bullet_item>Unchecked—Annotation will only be created for features that are currently labeled. This is the default.</bullet_item><para/>
        ///     <bullet_item>Checked—Unplaced annotation will be stored in the annotation feature class. The status field for these annotation is set to Unplaced.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定是否从未置入的标签创建未置入的批注。</para>
        ///   <bulletList>
        ///     <bullet_item>未选中 - 仅为当前标注的要素创建注记。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>选中 - 未放置的注记将存储在注记要素类中。这些注释的状态字段设置为“未放置”。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Convert unplaced labels to unplaced annotation")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _generate_unplaced_annotation_value _generate_unplaced_annotation { get; set; } = _generate_unplaced_annotation_value._false;

        public enum _generate_unplaced_annotation_value
        {
            /// <summary>
            /// <para>GENERATE_UNPLACED_ANNOTATION</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("GENERATE_UNPLACED_ANNOTATION")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NOT_GENERATE_UNPLACED_ANNOTATION</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NOT_GENERATE_UNPLACED_ANNOTATION")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Output Geodatabase</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Geodatabase")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public object _out_workspace { get; set; }


        /// <summary>
        /// <para>Convert</para>
        /// <para><xdoc>
        ///   <para>Specifies whether annotation will be created for all layers in the map or for a single layer. The single layer must be specified.</para>
        ///   <bulletList>
        ///     <bullet_item>All layers in map—Labels will be converted to annotation for the entire map. This is the default.</bullet_item><para/>
        ///     <bullet_item>Single layer—Labels will be converted to annotation for a single layer. The layer must be specified.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定是为地图中的所有图层创建注记，还是为单个图层创建注记。必须指定单层。</para>
        ///   <bulletList>
        ///     <bullet_item>地图中的所有图层 - 标注将转换为整个地图的注记。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>单图层 - 标注将转换为单个图层的注记。必须指定图层。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Convert")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _which_layers_value _which_layers { get; set; } = _which_layers_value._ALL_LAYERS;

        public enum _which_layers_value
        {
            /// <summary>
            /// <para>All layers in map</para>
            /// <para>All layers in map—Labels will be converted to annotation for the entire map. This is the default.</para>
            /// <para>地图中的所有图层 - 标注将转换为整个地图的注记。这是默认设置。</para>
            /// </summary>
            [Description("All layers in map")]
            [GPEnumValue("ALL_LAYERS")]
            _ALL_LAYERS,

            /// <summary>
            /// <para>Single layer</para>
            /// <para>Single layer—Labels will be converted to annotation for a single layer. The layer must be specified.</para>
            /// <para>单图层 - 标注将转换为单个图层的注记。必须指定图层。</para>
            /// </summary>
            [Description("Single layer")]
            [GPEnumValue("SINGLE_LAYER")]
            _SINGLE_LAYER,

        }

        /// <summary>
        /// <para>Feature Layer</para>
        /// <para>The layer that will be converted when the Convert parameter is set to Single layer. This layer must be in the map.</para>
        /// <para>将 Convert 参数设置为单层时要转换的图层。此图层必须位于地图中。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Feature Layer")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _single_layer { get; set; } = null;


        /// <summary>
        /// <para>Require symbols to be selected from the symbol table</para>
        /// <para><xdoc>
        ///   <para>Specifies whether all text symbol properties can be edited.
        ///   <bulletList>
        ///     <bullet_item>Unchecked—All text symbol properties can be edited. This is the default.  </bullet_item><para/>
        ///     <bullet_item>Checked—Only symbol properties that enable annotation features to maintain reference to their associated text symbol in the collection can be edited.  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para><xdoc>
        /// <para>指定是否可以编辑所有文本符号属性。
        ///   <bulletList>
        ///     <bullet_item>未选中 - 可编辑所有文本符号属性。这是默认设置。 </bullet_item><para/>
        ///     <bullet_item>选中 - 仅允许注记要素保持对其在集合中的关联文本符号的引用的符号属性才能编辑。</bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Require symbols to be selected from the symbol table")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _require_symbol_id_value _require_symbol_id { get; set; } = _require_symbol_id_value._false;

        public enum _require_symbol_id_value
        {
            /// <summary>
            /// <para>REQUIRE_ID</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("REQUIRE_ID")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NO_REQUIRE_ID</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NO_REQUIRE_ID")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Create annotation when new features are added</para>
        /// <para><xdoc>
        ///   <para>Specifies whether annotation will be created when new features are added to the linked feature class if the Create feature-linked annotation parameter is checked.
        ///   <bulletList>
        ///     <bullet_item>Checked—Feature-linked annotation will be created when new features are added to the linked feature class. This is the default.  </bullet_item><para/>
        ///     <bullet_item>Unchecked—Feature-linked annotation will not be created when new features are added to the linked feature class.  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para><xdoc>
        /// <para>指定如果选中创建要素链接注记参数，则在将新要素添加到链接要素类时是否创建注记。
        ///   <bulletList>
        ///     <bullet_item>选中 - 将新要素添加到链接要素类时，将创建要素链接注记。这是默认设置。 </bullet_item><para/>
        ///     <bullet_item>未选中 - 将新要素添加到链接要素类时，将不会创建要素链接注记。</bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Create annotation when new features are added")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _auto_create_value _auto_create { get; set; } = _auto_create_value._true;

        public enum _auto_create_value
        {
            /// <summary>
            /// <para>AUTO_CREATE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("AUTO_CREATE")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NO_AUTO_CREATE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NO_AUTO_CREATE")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Update annotation when feature's shape is modified</para>
        /// <para><xdoc>
        ///   <para>Specifies whether the position of annotation will be updated when the shape of the linked feature is updated if the Create feature-linked annotation parameter is checked.
        ///   <bulletList>
        ///     <bullet_item>Checked—The position of the annotation will be updated when the shape of the linked feature is modified. This is the default.  </bullet_item><para/>
        ///     <bullet_item>Unchecked—The position of the annotation will not be updated when the shape of the linked feature is modified.  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para><xdoc>
        /// <para>指定在选中创建要素链接注释参数时，更新链接要素的形状时是否更新注释的位置。
        ///   <bulletList>
        ///     <bullet_item>选中 - 修改链接要素的形状时，将更新注记的位置。这是默认设置。 </bullet_item><para/>
        ///     <bullet_item>未选中 - 修改链接要素的形状时，注记的位置将不会更新。</bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Update annotation when feature's shape is modified")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _update_on_shape_change_value _update_on_shape_change { get; set; } = _update_on_shape_change_value._true;

        public enum _update_on_shape_change_value
        {
            /// <summary>
            /// <para>SHAPE_UPDATE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("SHAPE_UPDATE")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NO_SHAPE_UPDATE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NO_SHAPE_UPDATE")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Convert labels from all layers to a single output feature class</para>
        /// <para><xdoc>
        ///   <para>Specifies whether labels will be converted to individual annotation feature classes or a single annotation feature class. If converting to a single annotation feature class, the annotation cannot be feature-linked.
        ///   <bulletList>
        ///     <bullet_item>Checked—Labels from all layers will be converted to a single annotation feature class.  </bullet_item><para/>
        ///     <bullet_item>Unchecked—Labels will be converted to individual annotation feature classes that correspond to their layers. This is the default.  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para><xdoc>
        /// <para>指定是将标注转换为单个注记要素类还是单个注记要素类。如果转换为单个注记要素类，则无法将注记与要素相关联。
        ///   <bulletList>
        ///     <bullet_item>选中 - 所有图层的标注将转换为单个注记要素类。</bullet_item><para/>
        ///     <bullet_item>未选中 - 标注将转换为与其图层相对应的单个注记要素类。这是默认设置。 </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Convert labels from all layers to a single output feature class")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _multiple_feature_classes_value _multiple_feature_classes { get; set; } = _multiple_feature_classes_value._false;

        public enum _multiple_feature_classes_value
        {
            /// <summary>
            /// <para>SINGLE_FEATURE_CLASS</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("SINGLE_FEATURE_CLASS")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>FEATURE_CLASS_PER_FEATURE_LAYER</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("FEATURE_CLASS_PER_FEATURE_LAYER")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Merge similar label classes</para>
        /// <para><xdoc>
        ///   <para>Specifies whether similar label classes will be merged if the Convert labels from all layers to a single output feature class parameter is checked.
        ///   <bulletList>
        ///     <bullet_item>Checked—Label classes with similar properties will be merged when creating a single feature class.  </bullet_item><para/>
        ///     <bullet_item>Unchecked—Label classes with similar properties will not be merged. This is the default.  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para><xdoc>
        /// <para>指定选中将所有图层中的标注转换为单个输出要素类参数时是否合并相似的标注类。
        ///   <bulletList>
        ///     <bullet_item>选中 - 创建单个要素类时，将合并具有相似属性的标注类。</bullet_item><para/>
        ///     <bullet_item>未选中 - 不会合并具有相似属性的标注类。这是默认设置。 </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Merge similar label classes")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _merge_label_classes_value _merge_label_classes { get; set; } = _merge_label_classes_value._false;

        public enum _merge_label_classes_value
        {
            /// <summary>
            /// <para>MERGE_LABEL_CLASS</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("MERGE_LABEL_CLASS")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NO_MERGE_LABEL_CLASS</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NO_MERGE_LABEL_CLASS")]
            [GPEnumValue("false")]
            _false,

        }

        public TiledLabelsToAnnotation SetEnv(object referenceScale = null)
        {
            base.SetEnv(referenceScale: referenceScale);
            return this;
        }

    }

}